1. Field of the Invention
The present invention relates to an information processing apparatus and user interface control method, which implement a user interface based on a user interface description language.
2. Description of the Related Art
A technique which describes a user interface using a description language such as XML or the like, and implements the user interface by executing the description language on a browser is known. HTML and a Web browser, which are prevalent currently, are an example of such technique. For example, SVG (Scalable Vector Graphics), which is described in Japanese Patent Laid-Open No. 2004-164208 and is designed by W3C (World Wide Web Consortium, http://www.w3c.org), is also an XML-based description language. Also, VoiceXML, which is also designated by W3C, is a language that describes interactions by means of voice.
It is a common practice to configure a user interface using “widgets” such as buttons, sliders, pull-down menus, and the like. Widgets of the same type have the same properties, such as a button which “appears depressed when pushed”. By creating widgets and laying them out on a user interface, the developer of the user interface need not program the “appears depressed when pushed” behavior or the like.
On the other hand, widgets are not merely allocated but often have different colors or different character strings depending on the use intended. For example, a button that represents “OK” and a button that represents “cancel” have a common “appears depressed when pushed” behavior. However, different character strings are displayed on these buttons, and these buttons may often be expressed using different bitmap files depending on the design of the user interface.
In the case of HTML, some GUI widgets such as a button expressed by <input type=“button”>, a pull-down menu expressed by <select>, and the like are defined. However, the appearances of these widgets which are prepared in advance are regulated by a browser, and it is difficult to freely customize their appearances.
By contrast, a GUI with a high visual effect can be built using SVG. SVG describes a GUI by combinations of vector expressions such as lines, rectangles, paths, and the like. However, no widgets with high levels of abstraction such as buttons and the like are prepared, and description in SVG becomes complicated since it is implemented by combinations of vector expressions. It is possible to re-use an SVG document at a reference destination by referring to another SVG file using an <image> element. However, this element merely allows re-use of display but does not allow re-use of an actual widget with an “appears depressed when pushed” behavior.
sXBL (http://www.w3.org/TR/sXBL/), which is currently designed by W3C, is attracting attention as a method capable of solving the widget-definition problem of SVG. Using sXBL, a button or the like is described by SVG and can be defined as a widget together with a behavior “appear depressed when pushed”. A widget described in this way can be loaded and re-used in another SVG document. However, sXBL is a language distinct from SVG, and when an existing SVG document is re-used in another SVG document as a widget of a user interface, sXBL cannot intervene.
The HTML <frame> or <iframe> tags are a mechanism used to display another page in a frame of a given page (i.e., a mechanism that allows re-use of existing HTML data in other HTML data). However, interactions allowed between parent HTML data and that in a frame are limited. For example, even when two identical buttons are allocated on a user interface, they often have different colors or different bitmap patterns. However, <frame> or <iframe> cannot change the attributes (colors, bitmaps, and the like) of HTML data in a frame using a description of parent HTML data.